/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package escom.ipn.modelo.delegate;

import escom.ipn.modelo.dto.IncidenteClass;
import escom.ipn.modelo.facade.incidenteFacade;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.ResourceBundle;

/**
 *
 * @author Daniel
 */
public class IncidenteDelegate {
      private Connection cnn;
    private incidenteFacade af;
    
    public IncidenteDelegate(){
        ResourceBundle recursos = ResourceBundle.getBundle("escom.ipn.Recursos.Recursos");
        String usuario=recursos.getString("user");
        String clave=recursos.getString("pass");
        String url=recursos.getString("url");
        String driver=recursos.getString("driver");
        try{
            Class.forName(driver);
            cnn = DriverManager.
                    getConnection(url,usuario,clave);
        }catch(Exception e){
            e.printStackTrace();
        }
        af=new incidenteFacade(cnn);
    }
    
    public IncidenteClass mostrarIncidentes(IncidenteClass a)
            throws SQLException{
        return af.leerIncidente(a);
    }
    
    public IncidenteClass mostrarIncidentesId(IncidenteClass a)
            throws SQLException{
        return af.leerIncidenteId(a);
    }
    
    public void crear(IncidenteClass a)
            throws SQLException{
        af.crearIncidente(a);
    }
    
    public void modificarEstado(IncidenteClass a)
            throws SQLException{
        af.cambiarIncidente(a);
    }
    
    public void modificarReportante(IncidenteClass a)
            throws SQLException{
        af.cambiarReportante(a);
    }
    
    public void modificarLugarReportante(IncidenteClass a)
            throws SQLException{
        af.cambiarLugarReportante(a);
    }
    
    public void modificarFin(IncidenteClass a)
            throws SQLException{
        af.cambiarFin(a);
    }
    
    public List mostrarIncidentes() 
            throws SQLException{
        return af.listarIncidentes();
    }
    
    public List mostrarIncidentesCercanos(IncidenteClass a,String latitud,String longitud) 
            throws SQLException{
        return af.listarIncidentesCercanos(a, latitud, longitud);
    }
    
    public int mostrarTiempoSinAtender(IncidenteClass a)
            throws SQLException{
        return af.leerTiempoSinAtender(a);
    }
    
    public List obtenerIncidentes(IncidenteClass a)
            throws SQLException{
        return af.obtenerIncidentes(a);
    }
    
    public List getAllIncidentes()
            throws SQLException{
        return af.mostrarIncidentes();
    }
}
